import os

# 统计目标目录中文件的总大小

# 定义总大小的全局变量
size = 0

def get_dir_size (target_dir):
    # 避免递归调用、多次调用时重置size的值
    global size
    # 获取目录内的列表并打印
    d_list = os.listdir(target_dir)
    # print(d_list)
    # 遍历目录内所有文件，获取文件大小
    for f in d_list:
        # 拼接文件名与绝对路径
        f = os.path.join(target_dir,f)
        # 判断该目录是否为文件夹，因为os.path.getsize无法读取文件夹的大小
        if os.path.isfile(f):
            # print(f,os.path.getsize(f))
            # 把文件大小累加到size内
            size += os.path.getsize(f)
        # 如果是文件夹，则进行递归调用该函数，直至到最内层
        elif os.path.isdir(f):
            get_dir_size(f)
    return size

get_size = get_dir_size(r'F:\python_exercise\basic_exericise')

print('该目录下的总大小为',get_size,'字节')